package com.zmn.uac.business.interfaces.user;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.uac.common.dro.oauth.login.UserAuthLoginDRO;

/**
 * 类描述：用户信息业务
 *
 * @author xujie
 * @since 2021/06/15 17:13
 */
public interface UserInfoBService {

    /**
     * 根据token获取用户id
     *
     * @param token token
     * @return ResponseDTO<Long>
     * @author xujie
     * @since 2021/06/15
     */
    ResponseDTO<Long> getUserIdByToken(String token);

    /**
     * 根据token获取passid
     *
     * @param token token
     * @return ResponseDTO<Long>
     * @author likailun
     * @since 2021/06/15
     */
    ResponseDTO<Long> getPassIdByToken(String token);

    /**
     * 根据token获取用户登录信息
     *
     * @param token token
     * @return ResponseDTO<Long>
     * @author xujie
     * @since 2021/06/15
     */
    ResponseDTO<UserAuthLoginDRO> getUserInfoByToken(String token);

    /**
     * 根据token、用户id获取用户登录信息
     *
     * @param token  token
     * @param userId userId
     * @return ResponseDTO<Long>
     * @author xujie
     * @since 2021/06/15
     */
    ResponseDTO<UserAuthLoginDRO> getUserInfoByTokenAndUserId(String token, Long userId, String openId);
}
